As telecommunications technology continues to evolve, the use of Internet Protocol (IP) for communications continues to expand for wired and wireless communication devices. Web surfing, music streaming, and other media services previously limited to computers, are now performed by wireless communication devices.
Although wired and wireless devices can engage in similar telecommunication services, the allocation of communication bandwidth by the network to wired and wireless devices differs. Wired devices such as landline telephones are typically circuit switched, and are generally allocated a designated amount of bandwidth dedicated to the devices over the course of a telephone conversation. Wireless communications, on the other hand, are not allocated a designated bandwidth. Instead, wireless communication devices share bandwidth using time-division multiplexing, frequency-division multiplexing, code division multiplexing, or other schemes, as practiced, for example, by the High-Speed Downlink Packet Access (HSDPA), Code Division Multiple Access (CDMA), Wide-Band CDMA (WCDMA), Enhanced Data rates for Global Evolution (EDGE), and General Packet Radio Service (GPRS) systems. Communication resources are dynamically allocated by the network as needed to serve active network users.
Contemporary communication devices can house multiple applications that facilitate various forms of communication, such as Voice over IP (VoIP), Instant Messaging (IM), or Push over Cellular (PoC). To send and receive messages via a type of service, a user is granted a contact address by the communications network that can be used in conjunction with an application on the user's communication device. A wireless device performs a registration procedure to in order to obtain most communication services. Typically, registration of a communication device alone is not sufficient for the efficient allocation of communication resources. Instead, the individual applications that reside on the communication device are registered, particularly when the communications implemented by the applications, such as VoIP, PoC, or IM communications, are facilitated by dedicated application servers or presence servers in the network.
IP packet communication via a wireless network is facilitated by the IP Multimedia System (IMS) network. The IMS network can include an IMS core as well as gateways to the Public Switched Telephone Network (PTSN) and other legacy networks. Comprising the IMS core are various proxy servers that receive, authenticate, manage and route communications between and among parties that access the IMS network through a variety of communication devices and local access networks. The IMS network supports a standardized signaling protocol, the Session Initiation Protocol (SIP) which can be used to establish, modify and terminate peer-to-peer communications between and among users of various types of communication devices, including both fixed and mobile. Designed by the Third Generation Partnership Project (3GPP) and the Internet Engineering Task Force (IETF), the IMS network provides 3 G communication services that allow multimedia communications to be performed with a desired level of security and quality of service.
As currently implemented by the IMS core, there are two methods by which applications can register in order to communicate over the IMS network. In simplest terms, registration is a process by which bindings are created that associate an address-of-record Uniform Resource Identifier (URI) with one or more contact addresses so that messages can be routed and delivered to a user at an IP address associated with an application on a communication device. For example, telephone numbers, email addresses, etc. can be registered so that a subscriber can receive messages at the registered address. In a first registration method, each application resident on a communication device registers separately with an application server dedicated to supporting the particular application. For example, suppose a user is employing a communication device on which applications A, B, and C reside. When the communication device is powered on, application A sends a message via the IMS core to the application A server, thereby registering with the application A server so that it can send or receive messages of a type managed by that server, for example VoIP messages managed by a VoIP server. Likewise, applications B and C send a similar message through the IMS core to application B and C servers. An acknowledgement message confirming the application registration is sent from each application server to the communication device in return. Although this method is adequate for registering the applications with the appropriate servers, it requires multiple signal or control messages to be transmitted by the communication device. Furthermore, where each application server responds with an acknowledgement message, this method also requires that three acknowledgement messages be sent to the communication device. Thus, while adequate to achieve its purpose, the method requires the transmission of several signal messages over the network, consuming valuable network resources, generating excessive traffic over the air interface, and increasing the latency of the communication system.
The second method currently implemented by the IMS network strives to increase the efficiency of the registration process by decreasing the volume of signaling traffic over the air interface. In this method, a single registration signal is sent from a communication device to a proxy server within the IMS core. Upon reception of the registration signal from the communication device, the IMS proxy server retrieves subscriber information stored at a subscriber information database, such as the Home Subscriber Service (HSS), to determine the services that are included in the user's network subscription. Using that information, the proxy server can then perform a third party registration process by which it registers the applications with the appropriate application servers according to the services to which the user subscribes. For example, suppose a user has subscribed to services which support applications A, B, and C. When a signal from a communication device associated with the user is received at the IMS core, the proxy server queries the HSS to authenticate the user and determine the services to which the user has subscribed. In this case, the data retrieved from the HSS will indicate that the user is subscribed to services which support applications A, B, and C. Accordingly, the proxy server will in turn register those applications with the appropriate application servers. A single acknowledgement confirming the registration of the applications is sent from the IMS core to the communication device.
This second method provides an application registration scheme that reduces traffic flow over the air interface since only one message is sent from the communication device to the IMS network, and one acknowledgement is sent from the IMS core to the communication device. However, the process relies on the accuracy of subscriber data stored at the HSS. Additional applications can easily be downloaded to, and previously installed applications can be deleted from, contemporary wireless devices. As a result, information stored in the HSS may not accurately reflect current device capabilities. Of further significance is the use of a Subscriber Identity Module (SIM) card in a wireless device. A SIM card stores unique identity information associated with a user and can be exchanged among multiple communication devices. Thus, although a SIM card may identify a user as a subscriber to one or more particular services, such as a VoIP service, the SIM card may be employed in a device that is not equipped with VoIP application software. Accordingly, third party registration performed by the IMS core may result in an assigned contact address associated with a particular user for a particular application even though the wireless device is unable to interact with that server. As a result, resources are needlessly consumed.
Generally, when an application is registered with an application server, the registration period expires after a designated period of time. Typically, registration can be extended by re-registering with the application server prior to the expiration of the designated time period. However, the issues that plague the registration process are again present during the re-registration process, namely the signal traffic volume and the lack of dynamic information regarding the actual communication capabilities of a communication device.
What is needed is a method by which only those applications physically present on the particular communication device in operation are registered with application servers. There is a further need for a method to register an application with an application server that conserves communication resources by reducing the signaling traffic to and from the communication device.